Photo taken with a DJI Mavik Pro drone on July 19, 2017.
The Willamette River Falls Fish Ladder in Oregon has been the site of fish counts for over 60 years. This analysis explores the passage of Steelhead, Coho, and Jack Coho through the Willamette River Fish Ladder, looking at how their populations are changing through time. By investigating the yearly and seasonal shifts, we can better understand the species dynamics in the Willamette River.
This study provides a yearly time series, seasonplot, and statistical summary of fish passage from 2001 - 2010.
leaflet() %>%
addTiles() %>%
addMarkers(lng = -122.6193, lat = 45.3511, popup = "Willamette Falls")
A professionally formatted data citation Remember: All code that you used to wrangle the data and prepare the graphs should be available to see if we click on the Code buttons.
#initial data read in
fish_data <- read_csv(here("data","willamette_fish_passage.csv")) %>%
clean_names()
#data wrangling: convert date, create tsibble, select species, na to 0
ts_salmon <- fish_data %>%
mutate(date = lubridate::mdy(date)) %>%
as_tsibble(key = NULL, index = date) %>%
select(date, coho, jack_coho, steelhead) %>%
mutate_at(c(2:4), ~replace(., is.na(.), 0))
#Steelhead Plot
steelhead_plot <-ggplot(ts_salmon, aes(x = date, y = steelhead))+
geom_line(color = "indianred")+
labs(
y = "Steelhead",
x = " "
)+
theme_minimal()+
ylim(0, 1250)
# Coho Plot
coho_plot <- ggplot(ts_salmon, aes(x = date, y = coho))+
geom_line(color = "rosybrown")+
theme_minimal()+
labs(
y = "Coho",
x = "Date"
)+
ylim(0, 1250)
# Jack Coho Plot
jackcoho_plot <- ggplot(ts_salmon, aes(x = date, y = jack_coho))+
geom_line(color = "lightsalmon1")+
theme_minimal()+
labs(
y = "Jack Coho",
x = " "
)+
ylim(0, 1250)
# Final graph using patchwork
salmon_patchwork <-(steelhead_plot / jackcoho_plot / coho_plot)
salmon_patchwork + plot_annotation(
title = 'Salmon Passage by Species',
subtitle = 'Number of Steelhead, Coho, and Jack Coho Salmon counted at the Willamette Falls Fish Ladder \n2001 - 2010'
)
Figure 1. Shows the number of adult Steelhead (top plot), Jack Coho (middle plot), and Coho (bottom plot) salmon passing through the Willamette Falls Fish Ladder on the Willamette River in Oregon from January 1 2001 - December 31 2010.
By tracking the number of adult salmon passing through the fish ladder, species specific trends become clear:
Steelhead, Jack Coho, and Coho all have song seasonal passage patterns, with Coho and Jack Coho passing in the fall, while Steelhead pass over a greater span of time in the summer months.
Adult Steelhead usually pass in higher numbers than Coho and Jack Coho, except in 2009 and 2010 when Coho numbers surpassed both Steelhead and Jack Coho.
Coho show an increasing trend with increasing numbers of adults passing in recent years.
Jack Coho are showing relatively stable low numbers, with no strong increasing trend.
This “Seasonplots” tab should contain:
coho_jack_steel <- fish_data %>%
select(date, coho, jack_coho, steelhead)
# convert df to a tsibble
cjs_ts <- coho_jack_steel %>%
mutate(date = lubridate::mdy(date)) %>%
as_tsibble(key = NULL, index = date)
cjs_ts_tidy <- cjs_ts %>%
pivot_longer(`coho`:`steelhead`, # The columns I'm gathering together
names_to = "fish_species", # new column name for existing names
values_to = "fish_count") # new column name to store values
cjs_ts_tidy %>%
filter(year(date) > 2000) %>%
gg_season(y = fish_count) +
theme_minimal() +
labs(x = "Time (month)",
y = "Total monthly fish count (n)",
title = "Seasonal Fish Counts")
This “Summary statistics and analysis” tab should contain:
#Isolate three fish species: coho, jack, and steelhead with select()
# In a pipe sequence, change the initial "date" and mutate() to add to the data set
# Mutate() a new column specifically for "year", in order to easily filter data to obtain "annual" fish totals
coho_jackcoho_steelhead <- fish_data %>%
mutate(date = mdy(date)) %>%
mutate(year = year(date)) %>%
select(year, coho, jack_coho, steelhead) %>%
pivot_longer(coho:steelhead,
names_to = "species",
values_to = "fish_counts") %>%
group_by(year) %>%
count(species, wt = fish_counts)
ggplot(coho_jackcoho_steelhead, aes(fill = species, x = year, y = n)) +
geom_col(show.legend = FALSE) +
facet_wrap(~species) +
scale_x_continuous(breaks = c(2002, 2004, 2006, 2008, 2010)) +
theme_minimal() +
labs(title = "Annual Counts of Fish Passage",
subtitle = "Willamette River, Oregon, US",
x = "Year",
y = "Counts of Fish")
#geom_col(position = "dodge", stat = "identity", alpha = 0.7)